package com.tulei.common.utils.file;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;

/**
 * @Author TuLei
 * @Date 2024-06-20 11:39
 **/

@Component
public class ExcelUtil {
    private final Map<String, String> mapData = new HashMap<>();
//    @PostConstruct
//    public void init(){
//        try {
//            FileInputStream file = new FileInputStream(new File("admin/src/main/resources/test.xlsx")); // 替换为你的Excel文件路径
//            Workbook workbook = new XSSFWorkbook(file);
//            Sheet sheet = workbook.getSheetAt(0); // 假设数据在第一个sheet页
//
//
//
//            for (Row row : sheet) {
//                // 跳过表头行，通常表头在第一行，这里假设从第二行开始是数据
//                if (row.getRowNum() == 0) continue;
//
//                Cell keyCell = row.getCell(0); // 假设第一列是键
//                Cell valueCell = row.getCell(1); // 假设第二列是值
//
//                // 获取单元格的值，这里简单地处理字符串类型
//                String key = getStringCellValue(keyCell);
//                String value = getStringCellValue(valueCell);
//
//                mapData.put(key, value);
//            }
//
//            // 打印Map中的内容
//            for (Map.Entry<String, String> entry : mapData.entrySet()) {
//                System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
//            }
//
//            workbook.close();
//            file.close();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    private static String getStringCellValue(Cell cell) {
//        if (cell == null) return "";
//        switch (cell.getCellType()) {
//            case STRING:
//                return cell.getStringCellValue();
//            case NUMERIC:
//                return String.valueOf(cell.getNumericCellValue());
//            case BOOLEAN:
//                return String.valueOf(cell.getBooleanCellValue());
//            default:
//                return "";
//        }
//    }
}
